DQL Strict Mode
DQL_STRICT_MODE=false
), Ditto is more flexible and will infer the CRDT type based on the document’s shape:Differ
API for calculating diffs between query results.
This API can be used with a store observer to understand how its results change
over successive callbacks. The Differ
API provides a way to track changes in
the data and can be used to optimize data synchronization and conflict resolution.Differ API documentation.Feature | Description | Example |
---|---|---|
UNSET clause | Remove fields from documents | UPDATE orders UNSET items.abc WHERE _id = 'my-id' |
CAST function | Explicitly convert between data types | SELECT * FROM products WHERE CAST(price AS INT) > 10 |
USE IDS clause | Direct document retrieval by ID | SELECT * FROM products USE IDS ['123', '456'] |
SIMILAR TO | Pattern matching expressions | SELECT * FROM products WHERE name SIMILAR TO '%phone%' |
Runtime expressions | Use expressions in object/array construction | UPDATE products SET metadata = { 'updated_at': current_timestamp() } |
Counters | Support for legacy compatible counter type | UPDATE products APPLY in_stock PN_INCREMENT BY 1.0 |
->
) are deprecated.DELETE
to remove documents.Added
DQL_STRICT_MODE
as a system parameter to opt-out of requiring collection definitions (#16573)Changed
Fixed
Removed
network_use_nextgen_multihop_stack
(#16370)Performance
DittoTransaction
representing an active DQL transaction. (#15729) Added: DittoTransactionCompletionAction
representing an action to be taken upon the completion of a transaction: commit or rollback. (#15729) Added: DittoTransactionInfo
encapsulating information about a transaction. (#15729) Added: Method TransactionAsync()
on DittoStore
allowing a DQL transaction to be performed. (#15729) Added: An opt-in Android foreground service which allows Ditto to sync in the background. (#16097) Added: Support for Mac Catalyst. (#16379) Added: DittoSyncPermissions
helper for .NET MAUI to check and request platform runtime permissions required for sync features. (#SDKS-1018) Added: New Ditto.UpdateTransportConfig()
method which takes a lambda expression for modifying the active DittoTransportConfig
. (#SDKS-691) Added: class DittoDiffer
, which calculates diffs between query results. This can be used with a store observer to understand how its results change over successive callbacks. (SDKS-979) Added: class DittoDiff
to represent diffs produced by the DittoDiffer
. (SDKS-979)